package com.ljm.sys.dict.api;

import com.ljm.common.dto.UserInfoDto;
import com.ljm.common.page.PageDto;
import com.ljm.sys.dict.dto.SysDictItemDto;
import com.ljm.sys.org.dto.SysOrgUserDto;

import java.util.List;

/**
 * <p>
    * 系统字段条目 接口
    * </p>
 *
 * @author HuamingChen
 * @since 2019-02-14
 */
public interface SysDictItemApi {
    /**
     * 保存字典条目
     * @param dto 字典条目
     * @param userDto 用户
     * @ 异常
     */
    void saveData(SysDictItemDto dto, UserInfoDto userDto);

    /**
     * 删除
     * @param ids 主键集合
     * @ 异常
     */
    void del(List<Long> ids);

    /**
     * 获取数据
     * @param id 主键
     * @return 字典条目
     * @ 异常
     */
    SysDictItemDto getDataById(Long id);

    /**
     * 分页获取字典条目
     * @param dictKey 字典key
     * @param itemKey 条目key
     * @param itemValue 条目value
     * @param pageNo 页码
     * @param pageSize 页大小
     * @return 字典信息
     * @ 异常
     */
    PageDto<SysDictItemDto> getByPage(String dictKey, String itemKey,
                                      String itemValue, Integer pageNo,
                                      Integer pageSize);

    /**
     * 获取条目
     * @param dictKey 字典标识
     * @return 条目信息
     */
    List<SysDictItemDto> getItemByDictKey(String dictKey);

}
